package file;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

// InputStream 的使用
public class Demo6 {
    public static void main(String[] args) {

        InputStream inputStream = null;

        try { // 若 read 出现异常导致不能执行到关闭文件，用 try-catch 包裹处理
            // 1. 打开文件
            inputStream = new FileInputStream("./test2.txt");

            // 2. 读取文件
    //        while (true) {
    //            int b = inputStream.read();
    //            if (b == -1) {
    //                // 文件读完了
    //                break;
    //            }
    //            System.out.println(b);
    //        }

            byte[] b = new byte[1024];
            int len = inputStream.read(b);
    //        System.out.println(len);
    //        for (int i = 0; i < len; i++) {
    //            System.out.println(b[i]);
    //        }
            String s = new String(b, 0, len, "utf8");
            System.out.println(s);
        }catch (IOException e) {
            e.printStackTrace();
        }finally {
            // 3. 关闭文件
            try {
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            // 但是 try-catch 里面又有一个 try-catch 不是很好，Demo9 有更好的办法
        }

    }
}
